package LeetcodeTest_thirteen;

import java.util.ArrayList;

//有效的括号
public class isValid
{
    public static void main(String[] args)
    {
        String s="(){}[]";
        System.out.println(Solution.isValid(s));
    }
}
class Solution
{
    static String s1="([{";
    static String s2=")]}";
    public static boolean isValid(String s)
    {
        int k;
        if(s.length()==0)
            return true;
        if(s.length()%2!=0)
            return false;
        ArrayList<Character> list=new ArrayList<Character>();
        if(index(s.charAt(0),s2)<3)
            return false;
        list.add(s.charAt(0));
        for(int i=1;i<s.length();i++)
        {
            k=index(s.charAt(i),s2);
            if(k<3)
            {
                if (list.get(list.size() - 1) == s1.charAt(index(s.charAt(i), s2)))
                    list.remove(list.size() - 1);
                else
                    list.add(s.charAt(i));
            }
            else
                list.add(s.charAt(i));
        }
        if(list.size()==0)
            return true;
        else
            return false;
    }
    public static int index(char ch,String p)
    {
        int i;
        for(i=0;i<p.length();i++)
        {
            if (ch == p.charAt(i))
                break;
        }
        return i;
    }
}